package com.ruoyi.fetv.mapper;

import com.ruoyi.fetv.controller.vo.Label;
import com.ruoyi.fetv.controller.vo.audit.AuditReq;
import com.ruoyi.fetv.controller.vo.audit.RespVO;
import com.ruoyi.fetv.controller.vo.audit.SearchReq;
import com.ruoyi.fetv.controller.vo.audit.UpdateStatus;
import com.ruoyi.fetv.controller.vo.information.AddReq;
import com.ruoyi.fetv.controller.vo.information.EditReq;
import com.ruoyi.fetv.domain.FetvInformation;

import java.util.List;

/**
 * 资讯Mapper接口
 *
 * @author Jack
 * @date 2023-03-07
 */
public interface FetvInformationMapper {
    /**
     * 查询资讯
     *
     * @param id 资讯主键
     * @return 资讯
     */
    public FetvInformation selectFetvInformationById(Long id);

    /**
     * 查询资讯列表
     *
     * @param fetvInformation 资讯
     * @return 资讯集合
     */
    public List<FetvInformation> selectFetvInformationList(FetvInformation fetvInformation);

    /**
     * 新增资讯
     *
     * @param fetvInformation 资讯
     * @return 结果
     */
    public int insertFetvInformation(AddReq fetvInformation);

    /**
     * 修改资讯
     *
     * @param fetvInformation 资讯
     * @return 结果
     */
    public int updateFetvInformation(EditReq fetvInformation);

    /**
     * 删除资讯
     *
     * @param id 资讯主键
     * @return 结果
     */
    public int deleteFetvInformationById(Long id);

    /**
     * 批量删除资讯
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteFetvInformationByIds(Long[] ids);

    /**
     * 获得审批列表
     *
     * @param fetvAudit 搜索参数
     * @return 审批列表
     */
    List<RespVO> selectFetvAuditList(SearchReq fetvAudit);

    /**
     * 审核
     *
     * @param fetvAudit -id与结果
     * @return 结果
     */
    int audit(AuditReq fetvAudit);

    /**
     * 修改状态
     *
     * @param fetvAudit - id与状态
     * @return 结果
     */
    int updateStatus(UpdateStatus fetvAudit);

    /**
     * 根据id获得资讯标题
     *
     * @param id 主键
     * @return 标题
     */
    String getTitleById(String id);

    /**
     * 查询标签组
     *
     * @param name 名字
     * @return 符合的标签
     */

    List<Label> getIdAndNameByName(String name);
    /**
     * 获得栏目标题列表
     * @param fetvInformation 请求参数
     * @return 结果*/
    List<com.ruoyi.fetv.controller.userController.information.vo.RespVO> selectFetvInformationTitleList(FetvInformation fetvInformation);
}
